home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 3 / Amoszine 3.adf / MORE_SOURCE / File_Examine.AMOS / File_Examine.amosSourceCode
AMOS Source Code  |  1992-02-26  |  3KB  |  135 lines

  1. ' *************************  
  2. ' *** FILE EXAMINE v1.1 ***  
  3. ' *************************  
  4.  
  5. ' *** This routine reads the header of a file and trys to determine which
  6. '     type of file it is e.g. IFF Picture, Sample Etc! 
  7.  
  8. ' *** Open Screen. 
  9.  
  10. Screen Open 0,640,200,2,Hires
  11. Curs Off 
  12. Flash Off 
  13. Cls 0
  14.  
  15. ' *** Set Palette. 
  16.  
  17. Palette $0,$FFC
  18.  
  19. ' *** Select File. 
  20.  
  21. F$=Fsel$("","","FILE TO EXAMINE")
  22.  
  23. If F$="" or Not Exist(F$)
  24.    Goto FIN
  25. End If 
  26.  
  27. ' *** Examine File.. 
  28.  
  29. Proc _EXAMINE_FILE[F$]
  30. FT$=Param$
  31.  
  32. '  *** Print File Type.
  33.  
  34. Print F$
  35. Print 
  36. Print "File Type = ";FT$
  37.  
  38. ' *** Quit.
  39.  
  40. FIN:
  41. End 
  42.  
  43. ' *** This Procedure Examines A Files Header, Which Determines What Type 
  44. '     Of File It Is e.g. IFF PICTURE, ANIMATION Etc! 
  45.  
  46. Procedure _EXAMINE_FILE[F$]
  47.    
  48.    ' *** Read File Header.
  49.    
  50.    Open In 1,F$
  51.    LF=Lof(1)
  52.    HEAD$=Input$(1,Min(LF,$440))
  53.    Close 1
  54.    
  55.    ' *** Determine File Type.   
  56.    
  57.    Restore DAT
  58.    
  59.    Repeat 
  60.       
  61.       Read S1,H1$,S2,H2$,FT$
  62.       
  63.       If Mid$(HEAD$,S1,Len(H1$))=H1$ and Mid$(HEAD$,S2,Len(H2$))=H2$
  64.          OK=1
  65.          Exit 
  66.       End If 
  67.       
  68.    Until H1$="END"
  69.    
  70.    ' *** Check For ASCII Format.
  71.    
  72.    If H1$="END"
  73.       
  74.       C=0
  75.       For N=1 To Len(HEAD$)
  76.          
  77.          A=Asc(Mid$(HEAD$,N,1))
  78.          If A>=32 or A=10 or A=9
  79.             Inc C
  80.          End If 
  81.          
  82.       Next N
  83.       
  84.       P=(C*100)/Len(HEAD$)
  85.       If P>95
  86.          FT$="ASCII TEXT"
  87.       End If 
  88.       
  89.    End If 
  90.    
  91.    ' *** File Header Data (Start1, Header1, Start2, Header2, File Type).  
  92.    
  93.    DAT:
  94.    Data 1,"FORM",9,"ILBM","IFF PICTURE"
  95.    Data 1,"FORM",9,"SMUS","IFF MUSIC (AEGIS SONIX)"
  96.    Data 1,"FORM",9,"8SVX","IFF SAMPLE"
  97.    Data 1,"FORM",9,"ANIM","IFF ANIMATION"
  98.    Data 1,"FORM",9,"SC3D","SCULPT 3D SCENE"
  99.    Data 1,"AmSp",1,"","AMOS BOB BANK"
  100.    Data 1,"AmIc",1,"","AMOS ICON BANK"
  101.    Data 1,"AmBk",13,"Music","AMOS MUSIC BANK"
  102.    Data $439,"M.K.",1,"","SOUNDTRACKER MODULE"
  103.    Data $439,"FLT4",1,"","SOUNDTRACKER MODULE"
  104.    Data 1,"MMD1",1,"","MED MODULE"
  105.    Data 1,"MMD0",1,"","MED MODULE"
  106.    Data 1,"AmBk",13,"Tracker","SOUNDTRACKER MODULE IN AN AMOS BANK"
  107.    Data 1,"AmBk",13,"Pac.Pic","AMOS PAC PIC"
  108.    Data 1,"AmBk",13,"Samples","AMOS SAMPLE BANK"
  109.    Data 1,"AmBk",13,"Menu","AMOS MENU BANK"
  110.    Data 1,"AmBk",13,"Amal","AMOS AMAL BANK"
  111.    Data 1,"AmBk",13,"Data","AMOS DATA BANK"
  112.    Data 1,"AmBk",1,"","AMOS BANK"
  113.    Data 1,"AmBs",1,"","SET OF AMOS BANKS"
  114.    Data 1,"AMOS Basic",1,"","AMOS 1.3 PROGRAM"
  115.    Data 1,"AMOS Pro",1,"","AMOS PROFESSIONAL PROGRAM"
  116.    Data 1,Chr$(0)+Chr$(0)+Chr$(3)+Chr$($F3),1,"","AMIGADOS EXECUTABLE PROGRAM"
  117.    Data 1,"PP20",1,"","POWERPACKEDDATA FILE"
  118.    Data 1,"MED"+Chr$(4),1,"","OCTAMED MODULE"
  119.    Data 1,"MSH"+Chr$(0),1,"","OCTAMED SYNTHSOUND"
  120.    Data 1,Chr$(227)+Chr$(16)+Chr$(0)+Chr$(1),1,"","WORKBENCH ICON"
  121.    Data 1,"PPbk",1,"","AMOS POWERPACKED BANK"
  122.    Data 1,Chr$(255)+Chr$(216)+Chr$(255)+Chr$(224),119,"JPEG","JPEG PICTURE"
  123.    Data 1,"DMS!",1,"","DISKMASHER FILE"
  124.    Data 1,"xSceneEditor",1,"","MOVIESETTER MOVIE WITH DATA"
  125.    Data 1,"FILM",1,"","MOVIESETTER MOVIE WITHOUT DATA"
  126.    Data 1,"SMOD",1,"","FUTURE COMPOSER V1.0-V1.3"
  127.    Data 365,"DELTA MUSIC V2.0",0,"","DELTA MUSIC V2.0"
  128.    Data 1,"DM20",1,"","DATAMASTER V2.0 DATABASE"
  129.    Data 1,"MM"+Chr$(0)+"*",1,"","TIFF PICTURE"
  130.    Data 5,"DEBR",27,"CHAG","FREELANCE V2.0 PRESENTATION"
  131.    Data 1,Chr$(10)+Chr$(5)+Chr$(1),1,"","PCX PICTURE"
  132.    Data 1,"BM",15,"(","WINDOWS BITMAP (BMP)"
  133.    Data 1,"END",1,"","UNKNOWN FILE TYPE"
  134.    
  135. End Proc[FT$]